#pragma once
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>

typedef int SListDateType;

typedef struct SListNode
{
	SListDateType date;
	struct SListNode* next;
}SListNode;


SListNode* BuySListNode(SListDateType x);
void SListPrint(SListNode* plist);
void SListPushBack(SListNode** pplist, SListDateType x);
void SListPushFront(SListNode** pplist, SListDateType x);
void SListPopFront(SListNode** pplist);
void SListPopBack(SListNode** pplist);
SListNode* SListFind(SListNode* plist, SListDateType x);
void SListInsertAfter(SListNode* pos, SListDateType x);
void SListInsert(SListNode **pplist,SListNode* pos, SListDateType x);
void SListEraseAfter(SListNode* plist);
void SListErase(SListNode** pplist,SListNode* pos);
void SListDestroy(SListNode** pplist);